﻿using System.ComponentModel;

namespace MXERP.Shared.Enums
{
    /// <summary>
    /// Api状态
    /// </summary>
    public enum ApiStatusEnum
    {
        /// <summary>
        /// 成功
        /// </summary>
        [Description("成功")]
        Success = 200,
        /// <summary>
        /// 令牌无效
        /// </summary>
        [Description("令牌无效")]
        Fail_Token_Unvalid = 1,
        /// <summary>
        /// 令牌过期
        /// </summary>
        [Description("令牌过期")]
        Fail_Token_Expired = 2,
        /// <summary>
        /// 没访问权限
        /// </summary>
        [Description("没访问权限")]
        Fail_UnAuthorized = 401,
        /// <summary>
        /// 403
        /// </summary>
        [Description("403")]
        Fail_Forbidden = 403,
        /// <summary>
        /// 应用程序错误
        /// </summary>
        [Description("应用程序错误")]
        Fail_App = 98,
        /// <summary>
        /// 系统异常
        /// </summary>
        [Description("系统异常")]
        Fail_Exception = 99,
        /// <summary>
        /// 系统异常
        /// </summary>
        [Description("应用程序错误提示")]
        Fail_App_ShowTip = 100
    }
    public enum RoleMasterEnum
    {
        [Description("用户")]
        User = 0,
        [Description("组织机构")]
        Organization = 1,
    }
    /// <summary>
    /// 权限通道
    /// </summary>
    public enum AccessEnum
    {
        [Description("应用")]
        App,
        [Description("资源")]
        Resource,
    }
    public enum AppTypeEnum
    {
        [Description("目录")]
        Catalog,
        [Description("应用")]
        App,
        [Description("资源")]
        Resource,
    }
    /// <summary>
    /// 权限对象
    /// </summary>
    public enum MasterEnum
    {
        [Description("角色")]
        Role,
        [Description("用户")]
        User,
        [Description("组织机构")]
        Organization
    }
    /// <summary>
    /// 组织机构类型
    /// </summary>
    public enum OrganizationTypeEnum
    {
        [Description("机构")]
        Organ,
        [Description("部门")]
        Department,
    }
    /// <summary>
    /// 入库单状态
    /// </summary>
    public enum EnterStockOrderStatusEnum
    {
        [Description("待审核")]
        Pending,
        [Description("已审核")]
        Checked,
        [Description("已完成")]
        Finished,
        [Description("已取消")]
        Canceled
    }
    /// <summary>
    /// 出库单状态
    /// </summary>
    public enum LeaveStockOrderStatusEnum
    {
        [Description("待审核")]
        Pending,
        [Description("已审核")]
        Checked,
        [Description("已开单")]
        Finished,
        [Description("已取消")]
        Canceled
    }
    /// <summary>
    /// 散镜出库单状态
    /// </summary>
    public enum RetailLeaveStockOrderStatusEnum
    {
        [Description("待审核")]
        Pending,
        [Description("已审核")]
        Checked,
        [Description("已开单")]
        Finished,
        [Description("已取消")]
        Canceled
    }
    /// <summary>
    /// 入库业务类型
    /// </summary>
    public enum EnterStockBusinessTypeEnum
    {
        [Description("采购入库")]
        PurchaseEnterStock,
        [Description("盘点入库")]
        InventoryEnterStock,
        [Description("转仓入库")]
        TransferEnterStock,
    }
    /// <summary>
    /// 出库业务类型
    /// </summary>
    public enum LeaveStockBusinessTypeEnum
    {
        [Description("销售出库")]
        SalesLeaveStock,
        [Description("盘点出库")]
        InventoryLeaveStock,
        [Description("转仓出库")]
        TransferLeaveStock,
    }
    /// <summary>
    /// 订单类型
    /// </summary>
    public enum SerialNumberTypeEnum
    {
        [Description("采购单")]
        PurchaseOrder ,
        [Description("调拨单")]
        TransferOrder ,
        [Description("镜种转换单")]
        TransferLensOrder,
        [Description("盘点单")]
        InventoryOrder,
        [Description("入库单")]
        EnterStockOrder,
        [Description("合约")]
        Contract,
        [Description("散镜订单")]
        RetailOrder,
        [Description("批量订单")]
        BulkOrder,
        [Description("订购单")]
        CustomizedOrder,
        [Description("欠数单")]
        OweOrder,
        [Description("成品出库单")]
        ProductLeaveStockOrder,
        [Description("半成品出库单")]
        SemiProductLeaveStockOrder,
        [Description("散镜出库单")]
        RetailLeaveStockOrder,
        [Description("外购订单")]
        CustomizedBulkOrder,
        [Description("正常出仓单")]
        NormalLeaveWarehouseOrder,
        [Description("借调出仓单")]
        SecondLeaveWarehouseOrder,
        [Description("发票")]
        Invoice,
        [Description("其他出库单")]
        OtherLeaveStockOrder,
    }
    /// <summary>
    /// 调拨单状态
    /// </summary>
    public enum  TransferOrderStatusEnum
    {
        [Description("待审核")]
        Pending,
        [Description("已审核")]
        Checked,
        [Description("已完成")]
        Finished,
        [Description("已取消")]
        Canceled
    }
    /// <summary>
    /// 采购订单状态
    /// </summary>
    public enum PurchaseOrderStatusEnum
    {
        [Description("待审核")]
        Pending,
        [Description("待收货")]
        Receive,
        [Description("部分收货")]
        PartialReceived,
        [Description("全部收货")]
        AllReceived,
        [Description("超出收货")]
        OverReceived,
        [Description("已完成")]
        Finished,
        [Description("已取消")]
        Canceled
    }
    /// <summary>
    /// 镜种转换单状态
    /// </summary>
    public enum TransferLensOrderStatusEnum
    {
        [Description("待审核")]
        Pending,
        [Description("已审核")]
        Checked,
        [Description("已完成")]
        Finished,
        [Description("已取消")]
        Canceled
    }
    /// <summary>
    /// 库存盘点单订单状态
    /// </summary>
    public enum InventoryOrderStatusEnum
    {
        [Description("待审核")]
        Pending,
        [Description("已审核")]
        Checked,
        [Description("已完成")]
        Finished,
        [Description("已取消")]
        Canceled
    }
    /// <summary>
    /// 欠数单状态
    /// </summary>
    public enum OweOrderStatusEnum
    {
        [Description("待审核")]
        Pending,
        [Description("已审核")]
        Checked
    }
    /// <summary>
    /// 合约状态
    /// </summary>
    public enum ContractStatusEnum
    {
        [Description("待审核")]
        Pending,
        [Description("已审核")]
        Checked,
        [Description("已结束")]
        Ended
    }
    /// <summary>
    /// 库存操作类型
    /// </summary>
    public enum StockActionTypeEnum
    {
        [Description("入库")]
        EnterStock,
        [Description("出库")]
        LeaveStock,
    }
    /// <summary>
    /// 入库业务单类型
    /// </summary>
    public enum EnterStockBusinessOrderTypeEnum
    {
        [Description("采购单")]
        PurchaseOrder,
        [Description("调拨单")]
        TransferOrder,
        [Description("镜种转换单")]
        TransferLensOrder,
        [Description("库存盘点单")]
        InventoryOrder
    }
    /// <summary>
    /// 出库业务单类型
    /// </summary>
    public enum LeaveStockBusinessOrderTypeEnum
    {
        [Description("散镜订单")]
        RetailOrder,
        [Description("批量订单")]
        BulkOrder,
        [Description("调拨单")]
        TransferOrder,
        [Description("镜种转换单")]
        TransferLensOrder,
        [Description("库存盘点单")]
        InventoryOrder,
        [Description("订购单")]
        CustomizedOrder
    }
    /// <summary>
    /// 散镜订单状态
    /// </summary>
    public enum RetailOrderStatusEnum
    {
        [Description("待审核")]
        Pending,
        [Description("待发货")]
        Delivery,
        [Description("已发货")]
        Delivered,
        [Description("已完成")]
        Finished,
        [Description("已取消")]
        Canceled
    }
    /// <summary>
    /// 批量订单状态
    /// </summary>
    public enum BulkOrderStatusEnum
    {
        [Description("待数据组处理")]
        PendingHandle,
        [Description("待审核")]
        Pending,
        [Description("待发货")]
        Delivery,
        [Description("部分发货")]
        PartialDelivered,
        [Description("全部发货")]
        AllDelivered,
        [Description("超出发货")]
        OverDelivered,
        [Description("已完成")]
        Finished,
        [Description("已取消")]
        Canceled
    }
    /// <summary>
    /// 工序类型
    /// </summary>
    public enum ProcessTypeEnum
    {
        [Description("焗色")]
        Coating,
        [Description("茶色")]
        TintingColor,
        [Description("水银")]
        Mirror,
        [Description("染色")]
        TintingCode,
        [Description("染色名称")]
        TintingName,
        //[Description("UV")]
        //UV,
        [Description("镜架")]
        Frame,
        //[Description("加硬")]
        //Hard,
        //[Description("抛光")]
        //PaoGuang,
        [Description("彩边")]
        CaiBian,
        [Description("车边")]
        CheBian,
        [Description("开坑")]
        KaiKeng,
        [Description("批花")]
        PiHua,
        //[Description("刀边")]
        //KnifeEdge,
        //[Description("面弯")]
        //Base,
        [Description("钻孔")]
        ZuanKong,
        //[Description("其他工序")]
        //OtherProcess,
        //[Description("额外的工序")]
        //ExtraProcess
    }
    /// <summary>
    /// 散单导入格式
    /// </summary>
    public enum RetailOrderImportFormatEnum
    {
        AS系列,
        HKEGG,
        MDGlass,
    }
    public enum EyeTypeEnum
    { 
        R,
        L
    }
    /// <summary>
    /// 附件类型
    /// </summary>
    public enum AttachmentOwnerTypeEnum
    {
        [Description("批量订单详情")]
        BulkOrderDetail,
        [Description("客户镜种")]
        CustomerLens,
        [Description("邮件")]
        Email
    }
    /// <summary>
    /// 批量订单类型
    /// </summary>
    public enum MaterialTypeEnum
    {
        [Description("成品")]
        Product,
        [Description("单光毛料")]
        MonofocalMaterial,
        [Description("双光毛料")]
        BifocalMaterial,
    }
    /// <summary>
    /// 工厂订单出库记录类型
    /// </summary>
    public enum FactoryOrderLeaveStockLogTypeEnum
    {
        [Description("销售")]
        Sales,
        [Description("换料")]
        Reloading,
    }
    /// <summary>
    /// 订单事件订单类型
    /// </summary>
    public enum OrderEventOrderTypeEnum
    {
        [Description("批量订单")]
        BulkOrder,
        [Description("出库单")]
        LeaveStockOrder,
        [Description("订购单")]
        CustomizedOrder
    }
    public enum StockActionStatisticsLogTypeEnum
    {
        [Description("期初库存")]
        Opening,
        [Description("期末库存")]
        Ending
    }
    /// <summary>
    /// 出库单类型
    /// </summary>
    public enum LeaveStockOrderTypeEnum
    {
        [Description("抽仓")]
        Deduct,
        [Description("订购")]
        Customized,
    }
    public enum BulkOrderTypeEnum
    {
        [Description("普通")]
        Simple,
        [Description("外发")]
        Customized,
    }
    public enum QtyTypeEnum
    {
        [Description("片数")]
        Qty,
        [Description("冻结库存片数")]
        FreezeQty,
        [Description("基本库存片数")]
        BasicQty,
        [Description("入库片数")]
        EnterStockQty,
        [Description("出库片数")]
        LeaveStockQty,
        [Description("盘盈片数")]
        ProfitQty,
        [Description("盘亏片数")]
        LossQty,
        [Description("抽仓片数")]
        DeductQty,
        [Description("订购片数")]
        CustomizedQty,
        [Description("原片数")]
        OriginalQty,
        [Description("可生成出库单片数")]
        CanLeaveStockQty,
        [Description("实际库存")]
        ActualQty
    }
    public enum OperatorTypeEnum
    {
        [Description("加")]
        Add,
        [Description("减")]
        Subtract,
        [Description("乘")]
        Multiply,
        [Description("除")]
        Divide
    }
    /// <summary>
    /// 订单文件夹
    /// </summary>
    public enum OrderFolderEnum
    {
        [Description("待接单")]
        Pending,
        [Description("成功")]
        Success,
        [Description("失败")]
        Fail,
    }
    /// <summary>
    /// 错误事件类型
    /// </summary>
    public enum ErrorEventTypeEnum
    {
        [Description("自动接单")]
        AutomaticReceivingOrders
    }
    /// <summary>
    /// 出库单单据类型
    /// </summary>
    public enum LeaveStockBillTypeEnum
    {
        BulkOrderProductLeaveStockBill,
        BulkOrderProductLeaveStockBillXY
    }
    public enum DateTypeEnum 
    {
        [Description("年")]
        Year,
        [Description("月")]
        Month,
        [Description("日")]
        Day
    }
    /// <summary>
    /// 出仓单业务单类型
    /// </summary>
    public enum LeaveWarehouseBusinessOrderTypeEnum
    {
        [Description("散镜订单")]
        RetailOrder,
        [Description("批量订单")]
        BulkOrder
    }
    /// <summary>
    /// 订购单状态
    /// </summary>
    public enum CustomizedOrderStatusEnum
    {
        [Description("待审核")]
        Pending,
        [Description("待出库")]
        LeaveStock,
        [Description("部分出库")]
        PartialLeftStock,
        [Description("全部出库")]
        AllLeftStock,
        [Description("超出出库")]
        OverLeftStock,
        [Description("已完成")]
        Finished,
        [Description("已取消")]
        Canceled
    }
    /// <summary>
    /// 订购单业务单类型
    /// </summary>
    public enum CustomizedBusinessOrderTypeEnum
    {
        [Description("散镜订单")]
        RetailOrder,
        [Description("批量订单")]
        BulkOrder
    }
    /// <summary>
    /// 其他出库单状态
    /// </summary>
    public enum OtherLeaveStockOrderStatusEnum
    {
        [Description("待完成")]
        Pending,
        [Description("已完成")]
        Finished,
        [Description("已取消")]
        Canceled
    }
    /// <summary>
    /// 订单跟踪记录业务单类型
    /// </summary>
    public enum OrderTrackingBusinessOrderTypeEnum
    {
        [Description("出库单")]
        LeaveStockOrder,
        [Description("其他出库单")]
        OtherLeaveStockOrder
    }
    public enum  WorkStepEnum
    {
        [Description("送仓库")]
        SongCangKu,
        [Description("发料")]
        FaLiao,
        [Description("扣账")]
        KouZhang,
        [Description("送包装")]
        SongBaoZhuang,
        [Description("ETC")]
        ETC,
        [Description("打唛")]
        DaMai,
        [Description("黄油")]
        HuangYou,
        [Description("打印条码")]
        DaYinTiaoMa,
        [Description("换镜袋")]
        HuanJingDai,
        [Description("贴背贴")]
        TieBeiTie,
        [Description("打包")]
        DaBao,
        [Description("装箱明细")]
        ZhuangXiangMingXi,
        [Description("出货检查")]
        ChuHuoJianCha,
        [Description("封箱")]
        FengXiang
    }
    public enum LeaveWarehouseOrderTypeEnum
    {
        [Description("正常出库")]
        Normal,
        [Description("借调出库")]
        Second,
    }
    /// <summary>
    /// 散镜订单条码打印类型
    /// </summary>
    public enum RetailOrderBarCodePrintTypeEnum
    {
        [Description("KT-ASAHIS")]
        KTASAHIS,
        [Description("OD")]
        OD,
        [Description("TW-OD")]
        TWOD,
        [Description("罗墩思德")]
        RodenStock,
        [Description("睛资")]
        Jins,
        [Description("睛资1.74")]
        Jins174,
        [Description("睛资-TW")]
        TWJins,
        [Description("苏明达")]
        SMD,
        [Description("HKOD")]
        HKOD
    }
    /// <summary>
    /// 散镜订单质保卡打印类型
    /// </summary>
    public enum RetailOrderWarrantyCardPrintTypeEnum
    {
        [Description("AFC保证卡")]
        AFC,
        [Description("ASAHI保证卡")]
        ASAHI,
        [Description("睛鹰保证卡")]
        VAT,
        [Description("香港睛鹰保证卡")]
        HKVAT,
    }
}
